Export basin averaged values
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(DateTime), | intent(in) | :: | time | |||
type(grid_real), | intent(in) | :: | temp |
air temperarure (°C) |
||
type(grid_real), | intent(in) | :: | tmean |
air temperarure daily mean(°C) |
||
type(grid_real), | intent(in) | :: | tmax |
air temperarure daily max (°C) |
||
type(grid_real), | intent(in) | :: | tmin |
air temperarure daily min (°C) |
||
type(grid_real), | intent(in) | :: | precipitation |
precipitation rate (m/s) |
||
type(grid_real), | intent(in) | :: | rh |
air relative humidity (0-100) |
||
type(grid_real), | intent(in) | :: | radiation |
solar radiation (w/m2) |
||
type(grid_real), | intent(in) | :: | netradiation |
net radiation (w/m2) |
||
type(grid_real), | intent(in) | :: | windspeed |
wind speed (m/s) |
||
type(grid_real), | intent(in) | :: | daily_precipitation |
daily precipitation rate (m/s) |
||
type(grid_real), | intent(in) | :: | irrigation |
irrigation rate (m/s) |
||
type(grid_real), | intent(in) | :: | swe |
snow water equivalent (m) |
||
type(grid_real), | intent(in) | :: | sm |
soil mositure (-) |
||
type(grid_real), | intent(in) | :: | runoff |
runoff (m/s) |
||
type(grid_real), | intent(in) | :: | infiltration |
infiltration (m/s) |
||
type(grid_real), | intent(in) | :: | percolation |
deep percolation (m/s) |
||
type(grid_real), | intent(in) | :: | et |
actual evapotranspiration (m/s) |
||
type(grid_real), | intent(in) | :: | pet |
potential evapotranspiration (m/s) |
||
type(grid_real), | intent(in) | :: | dsm |
soil moisture variation (m) |
||
type(grid_real), | intent(in) | :: | snowmelt |
snow melt (m) |
||
type(grid_real), | intent(in) | :: | iwe |
ice water equivalent (m) |
||
type(grid_real), | intent(in) | :: | icemelt |
ice melt (m) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=short), | public | :: | i | ||||
integer(kind=short), | public | :: | j |
SUBROUTINE ExportBasinAverage & ! (time, temp, tmean, tmax, tmin, precipitation, & rh, radiation, netradiation, windspeed, daily_precipitation, & irrigation, swe, sm, runoff, infiltration, percolation, et, & pet, dsm, snowmelt, iwe, icemelt ) IMPLICIT NONE !arguments with intent in: TYPE (DateTime) , INTENT(IN) :: time TYPE (grid_real), INTENT(IN) :: temp !!air temperarure (°C) TYPE (grid_real), INTENT(IN) :: tmean !!air temperarure daily mean(°C) TYPE (grid_real), INTENT(IN) :: tmax !!air temperarure daily max (°C) TYPE (grid_real), INTENT(IN) :: tmin !!air temperarure daily min (°C) TYPE (grid_real), INTENT(IN) :: precipitation !!precipitation rate (m/s) TYPE (grid_real), INTENT(IN) :: rh !!air relative humidity (0-100) TYPE (grid_real), INTENT(IN) :: radiation !!solar radiation (w/m2) TYPE (grid_real), INTENT(IN) :: netradiation !!net radiation (w/m2) TYPE (grid_real), INTENT(IN) :: windspeed !!wind speed (m/s) TYPE (grid_real), INTENT(IN) :: daily_precipitation !!daily precipitation rate (m/s) TYPE (grid_real), INTENT(IN) :: irrigation !!irrigation rate (m/s) TYPE (grid_real), INTENT(IN) :: swe !!snow water equivalent (m) TYPE (grid_real), INTENT(IN) :: sm !!soil mositure (-) TYPE (grid_real), INTENT(IN) :: runoff !!runoff (m/s) TYPE (grid_real), INTENT(IN) :: infiltration !!infiltration (m/s) TYPE (grid_real), INTENT(IN) :: percolation !!deep percolation (m/s) TYPE (grid_real), INTENT(IN) :: et !!actual evapotranspiration (m/s) TYPE (grid_real), INTENT(IN) :: pet !!potential evapotranspiration (m/s) TYPE (grid_real), INTENT(IN) :: dsm !!soil moisture variation (m) TYPE (grid_real), INTENT(IN) :: snowmelt !!snow melt (m) TYPE (grid_real), INTENT(IN) :: iwe !! ice water equivalent (m) TYPE (grid_real), INTENT(IN) :: icemelt !! ice melt (m) !local declarations INTEGER (KIND = short) :: i, j !-------------------------------end of declaration----------------------------- !precipitation IF ( varOut (1) ) THEN !cumulate variable CALL BasinCumulate ( precipitation, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesPrecipitation) !set current time sitesPrecipitation % time = time !write data CALL WriteData (sitesPrecipitation, fileUnitPrecipitation ) END IF !daily-precipitation IF ( varOut (2) ) THEN !cumulate variable CALL BasinCumulate ( daily_precipitation, 1000. * 86400. ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesPrecipitationDaily) !set current time sitesPrecipitationDaily % time = time !write data CALL WriteData (sitesPrecipitationDaily, fileUnitPrecipitationDaily ) END IF !air temperature IF ( varOut (3) ) THEN !cumulate variable CALL BasinCumulate ( temp ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesTemp) !set current time sitesTemp % time = time !write data CALL WriteData (sitesTemp, fileUnitTemp ) END IF !temperature-daily-mean IF ( varOut (4) ) THEN !cumulate variable CALL BasinCumulate ( tmean ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesTmean) !set current time sitesTmean % time = time !write data CALL WriteData (sitesTmean, fileUnitTmean ) END IF !temperature-daily-max IF ( varOut (5) ) THEN !cumulate variable CALL BasinCumulate ( tmax ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesTmax) !set current time sitesTmax % time = time !write data CALL WriteData (sitesTmax, fileUnitTmax ) END IF !temperature-daily-min IF ( varOut (6) ) THEN !cumulate variable CALL BasinCumulate ( tmin ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesTmin) !set current time sitesTmin % time = time !write data CALL WriteData (sitesTmin, fileUnitTmin ) END IF !relative-humidity IF ( varOut (7) ) THEN !cumulate variable CALL BasinCumulate ( rh ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesRH) !set current time sitesRH % time = time !write data CALL WriteData (sitesRH, fileUnitRH ) END IF !solar-radiation IF ( varOut (8) ) THEN !cumulate variable CALL BasinCumulate ( radiation ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesRadiation) !set current time sitesRadiation % time = time !write data CALL WriteData (sitesRadiation, fileUnitRadiation ) END IF !net-radiation IF ( varOut (9) ) THEN !cumulate variable CALL BasinCumulate ( netradiation ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesNetRadiation) !set current time sitesNetRadiation % time = time !write data CALL WriteData (sitesNetRadiation, fileUnitNetRadiation ) END IF !wind-speed IF ( varOut (10) ) THEN !cumulate variable CALL BasinCumulate ( windspeed ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesWindSpeed) !set current time sitesWindSpeed % time = time !write data CALL WriteData (sitesWindSpeed, fileUnitWindSpeed ) END IF !irrigation IF ( varOut (11) ) THEN !cumulate variable CALL BasinCumulate ( irrigation ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesIrrigation) !set current time sitesIrrigation % time = time !write data CALL WriteData (sitesIrrigation, fileUnitIrrigation ) END IF !snow water equivalent IF ( varOut (12) ) THEN !cumulate variable CALL BasinCumulate ( swe, 1000. ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesSWE) !set current time sitesSWE % time = time !write data CALL WriteData (sitesSWE, fileUnitSWE ) END IF !soil moisture IF ( varOut (13) ) THEN !cumulate variable CALL BasinCumulate ( sm ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesSM) !set current time sitesSM % time = time !write data CALL WriteData (sitesSM, fileUnitSM ) END IF !runoff IF ( varOut (14) ) THEN !cumulate variable CALL BasinCumulate ( runoff, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesRunoff) !set current time sitesRunoff % time = time !write data CALL WriteData (sitesRunoff, fileUnitRunoff ) END IF !infiltration IF ( varOut (15) ) THEN !cumulate variable CALL BasinCumulate ( infiltration, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesInfiltration) !set current time sitesInfiltration % time = time !write data CALL WriteData (sitesInfiltration, fileUnitInfiltration ) END IF !percolation IF ( varOut (16) ) THEN !cumulate variable CALL BasinCumulate ( percolation, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesPercolation) !set current time sitesPercolation % time = time !write data CALL WriteData (sitesPercolation, fileUnitPercolation ) END IF !actual evapotranspiration IF ( varOut (17) ) THEN !cumulate variable CALL BasinCumulate ( et, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesET) !set current time sitesET % time = time !write data CALL WriteData (sitesET, fileUnitET ) END IF !potential evapotranspiration IF ( varOut (18) ) THEN !cumulate variable CALL BasinCumulate ( pet, 1000. * dtBasinAverage ) !assign data to site network CALL AssignDataFromGrid ( cum, sitesPET) !set current time sitesPET % time = time !write data CALL WriteData (sitesPET, fileUnitPET ) END IF !soil water storage variation IF ( varOut (19) ) THEN !cumulate variable CALL BasinCumulate ( dsm, 1000.) !assign data to site network CALL AssignDataFromGrid ( cum, sitesDSM) !set current time sitesDSM % time = time !write data CALL WriteData (sitesDSM, fileUnitDSM ) END IF !snow melt IF ( varOut (20) ) THEN !cumulate variable CALL BasinCumulate ( snowmelt, 1000.) !assign data to site network CALL AssignDataFromGrid ( cum, sitesSnowMelt) !set current time sitesSnowMelt % time = time !write data CALL WriteData (sitesSnowMelt, fileUnitSnowMelt ) END IF !ice water eqivalent IF ( varOut (21) ) THEN !cumulate variable CALL BasinCumulate ( iwe, 1000.) !assign data to site network CALL AssignDataFromGrid ( cum, sitesIWE) !set current time sitesIWE % time = time !write data CALL WriteData (sitesIWE, fileUnitIWE ) END IF !ice melt IF ( varOut (22) ) THEN !cumulate variable CALL BasinCumulate ( icemelt, 1000.) !assign data to site network CALL AssignDataFromGrid ( cum, sitesIceMelt) !set current time sitesIceMelt % time = time !write data CALL WriteData (sitesIceMelt, fileUnitIceMelt ) END IF RETURN END SUBROUTINE ExportBasinAverage